home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / NetBSD / docs-netbsd / Mailinglist-Archive / 1994-08.gz / 1994-08 / 000178_owner-current-u…s.berkeley.edu_Thu Aug 4 05:23:28 1994.msg < prev    next >
Text File  |  1994-10-16  |  3KB  |  64 lines

  1. X-Authentication-Warning: MindBender.HeadCandy.com: Host localhost didn't use HELO protocol
  2. To: "Charles M. Hannum" <mycroft@duality.gnu.ai.mit.edu>
  3. Cc: current-users@sun-lamp.cs.berkeley.edu
  4. Subject: Re: Cyrix 486DLC lossage 
  5.              <199408032235.SAA27535@duality.gnu.ai.mit.edu> 
  6. From: "Michael L. VanLoon -- Iowa State University" <michaelv@HeadCandy.com>
  7. Sender: owner-current-users@sun-lamp.cs.berkeley.edu
  8.  
  9.  
  10. Incidentally, I contributed most of the Cyrix-specific logic in
  11. locore.s and machdep.c, that Theo retuned and put into the tree.  So,
  12. I'll comment on my viewpoint.
  13.  
  14. >So, I've implemented the following compromise:
  15. >
  16. >1) The bit which disables caching of the ISA `hole' area is always
  17. >set.
  18.  
  19. This is probably good for all machines.  However, for non DLC-specific
  20. motherboards, we should probably be using the mode where it flushes
  21. the cache on each bus hold.  We should be moving #0x22 into CCR0
  22. instead of the #0x02 that is default.  (Look where it's commented out
  23. in locore.s).
  24.  
  25. For people who have DLC-specific motherboards that actually have
  26. hardware cache support, it would be nice if there were a kernel option
  27. that would simply tell the Cyrix setup code to not touch the caching
  28. stuff (just DLC detection), so what they do in their BIOS will stick
  29. as NetBSD boots.
  30.  
  31. I don't see why nobody wants to make this a config-time option.  There
  32. is absolutely no way to detect whether a motherboard is DLC hardware
  33. specific -- it must be supplied by the user.  I envision something
  34. like #DLC_BIOS or #DLC_PARANOID to enable either a) don't touch the
  35. cache settings, or b) enable the cache in paranoid mode where it
  36. flushes on every bus hold and locks out the 640K-1M region (for use on
  37. 386 motherboards without DLC hardware caching support).
  38.  
  39. >2) If caching doesn't work correctly on your machine, you can turn it
  40. >off using the BIOS setup utility that came with your machine.  I'm not
  41. >going to try to intuit what the right thing is from the limited view I
  42. >have from the inside of your CPU.
  43.  
  44. You can't if we set it a certain way inside locore.s on every boot.
  45. That's why I'm in favor of a config option.  (Although, at present, if
  46. you don't #define notyet_cyrix, you don't get any DLC caching at all.)
  47.  
  48. >3) Eventually the explicit cache invalidations should be added anyway,
  49. >but I'm not going to do it today.  (Feel free to volunteer!)
  50.  
  51. I started to do it, and had dma.c and bt742a.c cache-safe (since
  52. that's the only DMA hardware I have).  I'm not so sure it's such a
  53. good idea, unless you can be sure *everyone* who writes a DMA driver
  54. knows to put cache invalidations in the right places.
  55.  
  56. I'd volunteer to finish the work if I wasn't working 60 hours a week.
  57.  
  58.                 --Michael
  59.  
  60. -----------------------------------------------------------------------------
  61.  Michael L. VanLoon                 Iowa State University Computation Center
  62.     michaelv@iastate.edu                    Project Vincent Systems Staff
  63.   Free your mind and your machine -- NetBSD free Un*x for PC/Mac/Amiga/etc.
  64. -----------------------------------------------------------------------------